1. Field of the Invention
The present invention relates to a color converting device and a color conversion method for converting input image data based on a plurality of first color components into output image data based on a plurality of second color components, an image forming apparatus comprising the color converting device, a computer program for causing a computer to convert input image data based on a plurality of first color components into output image data based on a plurality of second color components, and a recording medium storing the computer program.
2. Description of Related Art
In recent years, there is rapid development of digital OA apparatuses and there is an increasing demand for color image output, and electrophotographic type digital color copying machines, ink-jet type color printers, thermal transfer type color printers, etc. have been widely spread in general. For example, image data such as image data inputted using input devices such as a digital camera or a scanner, or image data created on a computer, are outputted using these output devices. These input and output devices are required to always output images with stable color reproduction with respect to input image data, and the color conversion (color correction) process of digital image processing techniques performs an important role.
As a color conversion method, a number of methods were conventionally proposed, such as a color coordinate conversion method for converting input image data into uniform color space data. Examples of such a method include methods using a lookup table (hereinafter referred to as a LUT) disclosed in Color Science Handbook, New Edition, p. 1137-1149 (The Color Science Association of Japan, University of Tokyo Press), and the Journal of Imaging Society of Japan, Vol. 37, No. 4 (1998), p. 555-559. The process of correcting color signals (color components) that become inappropriate output if not corrected, the process of converting color signals to change the color itself, and the process of converting the coordinate system of color signals without changing the color itself will all be hereinafter called color conversion.
A direct conversion method as one of the LUT methods is a method in which color conversion data are calculated for all combinations of input image data in advance, the results are stored in a color conversion table, and table values (color correction values) corresponding to input image data are referred and outputted as output image data. In the direct conversion method, since an access is made to the color conversion table, the circuit structure is simple and it is possible to perform relatively high-speed processing, and therefore this method can be applied irrespective of any non-linear characteristics.
In a three-dimensional interpolation method that is another LUT method, color correction values for part of input image data are calculated and stored in a color conversion table in advance, and input image data in the vicinity of input image data whose color correction values are stored in the color conversion table are calculated by linear interpolation processing using the color correction values stored in the color conversion table. With this three-dimensional interpolation method, even when the number of pieces of input image data for which color correction values should be calculated in advance is limited, it is possible to perform color conversion for every combination of input image data, and it is possible to decrease the data size of the color conversion table compared with the direct conversion method.
FIG. 9 is a view showing an outline of the three-dimensional interpolation method. In the example shown in FIG. 9, the width (hereinafter referred to as a grid width) of a color space composed of 8-bit R (red), G (green), and B (blue) is divided by 16, and color correction values at grid points (0, 16, 32, . . . , 240, 256) including both end points 0 and 256 are stored in a color conversion table. In this case, for input image data in the vicinity of the grid points, calculation is performed by linear interpolation processing using the color correction values stored in the color conversion table.
However, since the three-dimensional interpolation method is often a linear interpolation method, if the relationship between input and output is non-linear, it suffers from a problem of large interpolation errors. Moreover, if an attempt is made to increase the accuracy of color conversion, there arises a problem that the memory capacity of a LUT, etc. for storing the color conversion table increases.
In order to solve these problems, a method was proposed in which values Ui of grid points are determined without using theoretical values so that the sum of errors in the entire space is minimum, and the grid width of the input space is adjusted so that the output space is equally divided (see, for example, Japanese Patent Application Laid Open No. 7-184073 (1995)). With this method, it will be possible to improve the interpolation accuracy by appropriately determining the values of grid points.
In another proposed method, in a color space in which one component among R, G, and B components is more finely divided than the color components, a plurality of color conversion tables having CMY values corresponding to each point are provided (see, for example, Japanese Patent No. 2874660). With this method, it will be possible to limit the increase of the memory capacity, and particularly it will be possible to improve the color reproducibility of a presentation document etc. in which a wide range where defects of color reproducibility in a printed result will be noticeable is painted over with a single color. Further, this method can limit the increase of the table size (memory capacity) compared with the method of improving accuracy by merely dividing all components finely.
However, in the method disclosed in Japanese Patent Application Laid Open No. 7-184073 (1995), since the grid widths are not uniform, it is necessary to perform a different division process according to a grid width, and the division process cannot be realized by only bit shifting. Thus, there are problems that the circuit becomes larger in scale and complicated, and the processing speed becomes lower. In addition, although some improvement of accuracy is expected by uneven grid widths, there is a problem that the number of grid points must be increased twice for a further improvement of accuracy. For instance, the number of grid points will be increased by about 8 times from 17×17×17=4913 to 33×33×33=35937.
Besides, the method disclosed in Japanese Patent No. 2874660 has the problem that it can only reduce the memory capacity which was increased by about 8 times when all components are divided twice finely to about 6 times. For example, it is only possible to reduce the increase of the memory capacity to about 6 times, 17×17×33×3=28611, from 17×17×17=4913. Further, since there is data redundancy between a plurality of tables, there is a problem that the memory is not used effectively.